gusucode.com > GUI界面实现语音增强matlab源码程序 > speech enhancement/sub_improve.m
%改进的减谱法语音增强; a=9; %指数 b=1; %乘积系数; [y,fs,bit]=wavread('g:\5.wav'); N=ceil(length(y)/160); snr1=snr_count(y); Noise=b*prepower(y,16,a); for n=1:160:N*160, for j=1:160, if(length(y)-n-j<0), x(j)=0; else x(j)=y(n+j-1); end; end; %FFT transfer X=fft(x,160); %count phase phase=angle(X); Y=sum2(X,a); Y=ifft(Y,160); S=max((Y-Noise),0); S=fft(S,160); S=S.^(1/a); for k=1:160, S(k)=S(k)*exp(i*phase(k)); end; s(n:n+159)=ifft(S,160); end; wavwrite(s,fs,bit,'G:\7.wav');